#ifndef _VN_FLASH_COMPONENT_H_
#define _VN_FLASH_COMPONENT_H_

#include "IComponent.h"

class VisualComponent;
class FlashComponent : public IComponent
{
public:
	FlashComponent(float p_fadeStrength);
	virtual ~FlashComponent(void);

	virtual const std::string getType() { return "FlashComponent"; }
	virtual const std::string getFamilyType() { return "FlashComponent"; }

	virtual void init();
	virtual void update(const GameTime& p_gameTime);
	void setActive(bool p_value);

protected:
	bool m_active;
	float m_fadeStrength;
	short m_blinkState;
	VisualComponent* m_visual;
};

#endif // _VN_FLASH_COMPONENT_H_